Gadara: Dynamic Deadlock Avoidance for Multithreaded Programs

نویسندگان

  • Yin Wang
  • Terence Kelly
  • Manjunath Kudlur
  • Stéphane Lafortune
  • Scott A. Mahlke
چکیده

Deadlock is an increasingly pressing concern as the multicore revolution forces parallel programming upon the average programmer. Existing approaches to deadlock impose onerous burdens on developers, entail high runtime performance overheads, or offer no help for unmodified legacy code. Gadara automates dynamic deadlock avoidance for conventional multithreaded programs. It employs whole-program static analysis to model programs, and Discrete Control Theory to synthesize lightweight, decentralized, highly concurrent logic that controls them at runtime. Gadara is safe, and can be applied to legacy code with modest programmer effort. Gadara is efficient because it performs expensive deadlock-avoidance computations offline rather than online. We have implemented Gadara for C/Pthreads programs. In benchmark tests, Gadara successfully avoids injected deadlock faults, imposes negligible to modest performance overheads (at most 18%), and outperforms a software transactional memory system. Tests on a real application show that Gadara identifies and avoids both previously known and unknown deadlocks while adding performance overheads ranging from negligible to 10%.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Concurrency bugs in multithreaded software: modeling and analysis using Petri nets

In this paper, we apply discrete-event system techniques to model and analyze the execution of concurrent software. The problem of interest is deadlock avoidance in shared-memory multithreaded programs. We employ Petri nets to systematically model multithreaded programs with lock acquisition and release operations. We define a new class of Petri nets, called Gadara nets, that arises from this m...

متن کامل

Supervisory control of software execution for failure avoidance: Experience from the Gadara project

We discuss our experience in the Gadara project, whose objective is to control the execution of software to avoid potential failures using discrete-event control techniques. We summarize our accomplishments so far and discuss future challenges. After initial work on safety of workflow scripts via supervisory control techniques, we have focused our efforts on deadlock avoidance in multithreaded ...

متن کامل

Eliminating Concurrency Bugs in Multithreaded Software: An Approach Based on Control of Petri Nets

We describe the Gadara project, a research effort whose goal is to eliminate certain classes of concurrency bugs in multithreaded software by controlling the execution of programs at run-time. The Gadara process involves three stages: modeling of the source code at compile time in the form of a Petri net, feedback control synthesis, and control logic implementation into the source code. The fee...

متن کامل

A Dynamic Deadlock Prediction, Confirmation and Fixing Framework for Multithreaded Programs

Deadlocks widely exist in real-world multithreaded programs. Existing predictive strategies are not consistently scalable; existing confirmation strategies may miss to trigger deadlocks, and existing fixing strategies may incur false positives or high runtime overheads. This paper presents an overview of my approach to automatic deadlock prediction, confirmation, and fixing.

متن کامل

Detection of deadlock potentials in multithreaded programs

potentials in multithreaded programs R. Agarwal S. Bensalem E. Farchi K. Havelund Y. Nir-Buchbinder S. D. Stoller S. Ur L. Wang Concurrent programs are well known for containing errors that are difficult to detect, reproduce, and diagnose. Deadlock is a common concurrency error, which occurs when a set of threads are blocked, due to each attempting to acquire a lock held by another. This paper ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008